CHE 597: Computational Optimization, Spring 2024

Instructor: Can Li
Email: canli@purdue.edu
Classroom: Hampton Hall of Civil Engineering, Room 2102
Time: Tuesday and Thursday, 4:30 pm - 5:45 pm
Office: Forney Hall of Chemical Engineering, Room G027A
Office Hours: Thursday, 3:30 pm - 4:30 pm
Make-up lecture classroom Max W and Maileen Brown Family Hall (BHEE) 234
Make-up lecture time Wednesday, 4:30 pm - 5:45 pm

Course Description:

This is a graduate-level introductory course to mathematical optimization. We will cover the theory and algorithms of linear programming, mixed-integer linear/nonlinear programming, conic programming, global optimization of nonconvex problems, and decomposition algorithms for mixed-integer programs. Special focus will be given to using the APIs of modern computational software including CPLEX, Gurobi, Mosek, Pytorch with implementations in Python. We will motivate the algorithms using modern applications in chemical engineering, transportation, energy systems, machine learning, and control.

The course lectures will be 30% proofs, 50% algorithms and computation, and 20% modeling and applications in engineering. The homework will keep a similar portion. However, we will not have proofs in the exams since this is a class targeted at engineering students.

Syllabus

Date
Topic
Slides
Homework
Handouts and Links Video
Tue Jan 9 Introduction to Course slides ipad HW1 Pyomo Tutorial video
Thu Jan 11 Convex sets, functions slides ipad     video
Tue Jan 16 Unconstrained optimization slides ipad HW2   video
Thu Jan 18 Linear Programming Applications slides ipad     video
Tue Jan 23 Polyhedron Theory slides ipad HW3   video
Thu Jan 25 Simplex Algorithm slides ipad     video
Tue Jan 30 Linear Programming Duality slides ipad HW4   video
Thu Feb 1 Conic Programming slides ipad   Mittelmann benchmark video
Tue Feb 6 Langrangian Dual and Optimality Conditions slides ipad HW5   video
Thu Feb 8 Nonlinear Programming Algorithms slides ipad     video
Tue Feb 13 Modeling of Discrete and Continuous Decisions slides ipad HW6   video
Thu Feb 16 Formulating Mixed-Integer Linear Programming Models slides ipad   practice exam 1 video
Tue Feb 20 Mixed-Integer Linear Programming Applications slides ipad HW7   video
Thu Feb 22 Branch and Bound slides ipad      
Tue Feb 27 Cutting Planes slides ipad      
Thu Feb 29 Midterm Review practice exam solution     video
Thu Mar 7 Nonconvex Optimization Applications slides ipad HW8   video
Tue Mar 19 Convex Relaxations slides ipad     video
Thu Mar 21 Branch and Reduce slides ipad HW9   video
Tue Mar 26 Decomposition Algorithms for MINLP slides ipad     video
Thu Mar 28 Stochastic Programming and Benders Decomposition slides ipad HW10   video
Tue Apr 2 Column Generation and Dantzig Wolfe Decomposition slides ipad     video
Thu Apr 4 Course Project slides ipad     video
Tue Apr 9 Lagrangian Relaxation and Decomposition slides ipad HW 11   video
Thu Apr 11 Augmented Lagrangian and ADMM slides ipad     video
Tue Apr 16 Bilevel Optimization slides ipad   practice exam 2 video
Thu Apr 18 MIP Solvers slides HW 12   video
Tue Apr 23 Project Consulting        
Thu Apr 25 Final Review ipad     video

This class will not exactly follow any textbook. But we may cover some of the content in the following textbooks.

  1. Grossmann, I. E. (2021). Advanced optimization for process systems engineering. Cambridge University Press.
  2. Wolsey, L. A. (2020). Integer programming. John Wiley & Sons.
  3. Bertsimas, D., & Tsitsiklis, J. N. (1997). Introduction to linear optimization. Belmont, MA: Athena scientific.
  4. Ben-Tal, A., & Nemirovski, A. (2001). Lectures on modern convex optimization: analysis, algorithms, and engineering applications. Society for industrial and applied mathematics.
  5. Conforti, M., Cornuéjols, G., Zambelli, G (2014). Integer programming. Graduate Texts in Mathematics
  6. Boyd, S. P., & Vandenberghe, L. (2004). Convex optimization. Cambridge university press.
  7. Tawarmalani, M., & Sahinidis, N. V. (2013). Convexification and global optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and applications (Vol. 65). Springer Science & Business Media.
  8. Horst, R., & Tuy, H. (2013). Global optimization: Deterministic approaches. Springer Science & Business Media.

Software

We will use the following software

  • Pyomo is a collection of Python software packages for formulating optimization models. Tutorial: ND Pyomo Cookbook
  • Gurobi and Cplex are both high-performance mathematical programming solver for linear programming, mixed integer programming, and quadratic programming.
  • Mosek is a software package for the solution of linear, mixed-integer linear, quadratic, mixed-integer quadratic, quadratically constraint, conic and convex nonlinear mathematical optimization problems.
  • Pytorch PyTorch is a machine learning framework based on the Torch library, used for applications such as computer vision and natural language processing, originally developed by Meta AI and now part of the Linux Foundation umbrella.

Prerequisite

Some familiarity with linear algebra, calculus, and programming in python is required.

Last Updated Example